package com.xishu.bo.pay;

import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;

/**
 *发起交易后，需要调用查询接口，获取订单的状态，直到钱方返回具体的状态信息为止，根据订单的状态进行相应的处理。
 *
 * ​ 默认不支持隔月订单查询，若查询隔月订单，需传入start_time、end_time（时间区间包含sysdtm时间，且区间不能跨月）参数，建议以syssn为条件进行查询。此外，如果交易接口没有返回syssn，使用out_trade_no为条件进行查询。
 */
public class QrQueryOrder implements Serializable {
    private static final long serialVersionUID = 8762651147104755196L;

    @ApiModelProperty(value = "子商户号, 标识子商户身份，由钱方统一分配；支付时若mchid非空则查询订单时必传")
    private String mchid;

    @ApiModelProperty(value = "钱方订单号,多个以英文逗号区分开")
    private String syssn;

    @ApiModelProperty(value = "外部订单号,开发者平台订单号；多个以英文逗号区分开；")
    private String out_trade_no;

    @ApiModelProperty(value = "支付类型, 多个以英文逗号区分开")
    private String pay_type;

    @ApiModelProperty(value = "交易返回码,默认返回所有返回码状态的订单")
    private String respcd;

    @ApiModelProperty(value = "开始时间, 默认本月开始 格式：yyyy-MM-dd HH:mm:ss")
    private String start_time;

    @ApiModelProperty(value = "结束时间, 默认本月开始 格式：yyyy-MM-dd HH:mm:ss")
    private String end_time;

    @ApiModelProperty(value = "时区,用于记录本地下单时间，默认为北京时间+0800")
    private String txzone;

    @ApiModelProperty(value = "页数,默认为1")
    private Integer page;

    @ApiModelProperty(value = "每页显示数量,默认显示10笔订单,最大值100，如果超过100，则只显示100条")
    private Integer page_size;

    public String getMchid() {
        return mchid;
    }

    public void setMchid(String mchid) {
        this.mchid = mchid;
    }

    public String getSyssn() {
        return syssn;
    }

    public void setSyssn(String syssn) {
        this.syssn = syssn;
    }

    public String getOut_trade_no() {
        return out_trade_no;
    }

    public void setOut_trade_no(String out_trade_no) {
        this.out_trade_no = out_trade_no;
    }

    public String getPay_type() {
        return pay_type;
    }

    public void setPay_type(String pay_type) {
        this.pay_type = pay_type;
    }

    public String getRespcd() {
        return respcd;
    }

    public void setRespcd(String respcd) {
        this.respcd = respcd;
    }

    public String getStart_time() {
        return start_time;
    }

    public void setStart_time(String start_time) {
        this.start_time = start_time;
    }

    public String getEnd_time() {
        return end_time;
    }

    public void setEnd_time(String end_time) {
        this.end_time = end_time;
    }

    public String getTxzone() {
        return txzone;
    }

    public void setTxzone(String txzone) {
        this.txzone = txzone;
    }

    public Integer getPage() {
        return page;
    }

    public void setPage(Integer page) {
        this.page = page;
    }

    public Integer getPage_size() {
        return page_size;
    }

    public void setPage_size(Integer page_size) {
        this.page_size = page_size;
    }
}
